package com.b2c.ftysys.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.commons.lang.StringUtils;

import com.b2c.ftysys.vo.FtyWipVo;

public class FtyWipExample extends BaseExample {
	protected String orderByClause;

	protected List<Criteria> oredCriteria;

	public FtyWipExample() {
		oredCriteria = new ArrayList<Criteria>();
	}

	protected FtyWipExample(FtyWipExample example) {
		this.orderByClause = example.orderByClause;
		this.oredCriteria = example.oredCriteria;
	}

	public void setOrderByClause(String orderByClause) {
		this.orderByClause = orderByClause;
	}

	public String getOrderByClause() {
		return orderByClause;
	}

	public List<Criteria> getOredCriteria() {
		return oredCriteria;
	}

	public void or(Criteria criteria) {
		oredCriteria.add(criteria);
	}

	public Criteria createCriteria() {
		Criteria criteria = createCriteriaInternal();
		if (oredCriteria.size() == 0) {
			oredCriteria.add(criteria);
		}
		return criteria;
	}

	public Criteria createCriteria(FtyWipVo vo) {
		Criteria criteria = createCriteriaInternal(vo);
		if (oredCriteria.size() == 0) {
			oredCriteria.add(criteria);
		}
		return criteria;
	}

	protected Criteria createCriteriaInternal(FtyWipVo vo) {
		Criteria criteria = new Criteria(vo);
		return criteria;
	}

	protected Criteria createCriteriaInternal() {
		Criteria criteria = new Criteria();
		return criteria;
	}

	public void clear() {
		oredCriteria.clear();
	}

	public static class Criteria {
		protected List<String> criteriaWithoutValue;

		protected List<Map<String, Object>> criteriaWithSingleValue;

		protected List<Map<String, Object>> criteriaWithListValue;

		protected List<Map<String, Object>> criteriaWithBetweenValue;

		protected Criteria() {
			super();
			criteriaWithoutValue = new ArrayList<String>();
			criteriaWithSingleValue = new ArrayList<Map<String, Object>>();
			criteriaWithListValue = new ArrayList<Map<String, Object>>();
			criteriaWithBetweenValue = new ArrayList<Map<String, Object>>();
		}

		protected Criteria(FtyWipVo vo) {
			criteriaWithoutValue = new ArrayList<String>();
			criteriaWithSingleValue = new ArrayList<Map<String, Object>>();
			criteriaWithListValue = new ArrayList<Map<String, Object>>();
			criteriaWithBetweenValue = new ArrayList<Map<String, Object>>();

			if (null != vo) {
				if (!StringUtils.isEmpty(vo.getCmtOrderId())) {// 订单号
					this.andCmtOrderIdEqualTo(vo.getCmtOrderId());
				}

				if (!StringUtils.isEmpty(vo.getCmtPdtSkuId())) {// 客户Sku号
					this.andCmtpdtskuidLike("%" + vo.getCmtPdtSkuId() + "%");
				}

				if (!StringUtils.isEmpty(vo.getPdtSkuId())) {// 工厂Sku号
					this.andPdtskuidLike("%" + vo.getPdtSkuId() + "%");
				}

				if (!StringUtils.isEmpty(vo.getStaffName())) {// 执行者姓名
					this.andStaffNameEqualTo(vo.getStaffName());
				}

				if (null != vo.getStaffId() && vo.getStaffId() > 0) {// 执行者编号
					this.andStaffNameEqualTo(vo.getStaffName());
				}

				if (null != vo.getSendDate()) {// 发货日期
					this.andSendDateEqualTo(vo.getSendDate());
				}

				if (null != vo.getExpectDate()) {// 客户要求发货日期
					if (null != vo.getExpectDateFlag()) {
						switch (vo.getExpectDateFlag()) {
						case 1:// 之前
							this.andExpectDateGreaterThan(vo.getExpectDate());
							break;
						case 2:// 之后
							this.andExpectDateLessThanOrEqualTo(vo
									.getExpectDate());
							break;
						default:
							this.andExpectDateEqualTo(vo.getExpectDate());
							break;
						}
					}
				}

				if (null != vo.getStartTime()) {// 产品开始时间
					this.andStartTimeEqualTo(vo.getStartTime());
				}

				if (null != vo.getEndTime()) {// 产品结束时间
					this.andEndTimeEqualTo(vo.getEndTime());
				}

				if (null != vo.getPdtStatus() && vo.getPdtStatus() > 0) {// 执行者编号
					this.andPdtStatusEqualTo(vo.getPdtStatus());
				}

				if (null != vo.getActive() && vo.getActive() > 0) {
					this.andPdtStatusLessThan(Product.DONE);
				}

				if (null != vo.getArriveDate()) {// 下单日期
					if (null != vo.getArriveDateFlag()) {
						switch (vo.getArriveDateFlag()) {
						case 1:// 之前
							this.andArrivedateGreaterThan(vo.getArriveDate());
							break;
						case 2:// 之后
							this.andArrivedateLessThanOrEqualTo(vo
									.getArriveDate());
							break;
						default:
							this.andArrivedateEqualTo(vo.getArriveDate());
							break;
						}
					}
				}

				if (null != vo.getTrackNo() && 0 != vo.getTrackNo()) {
					this.andTrackNoEqualTo(vo.getTrackNo());
				}
			}
		}

		public boolean isValid() {
			return criteriaWithoutValue.size() > 0
					|| criteriaWithSingleValue.size() > 0
					|| criteriaWithListValue.size() > 0
					|| criteriaWithBetweenValue.size() > 0;
		}

		public List<String> getCriteriaWithoutValue() {
			return criteriaWithoutValue;
		}

		public List<Map<String, Object>> getCriteriaWithSingleValue() {
			return criteriaWithSingleValue;
		}

		public List<Map<String, Object>> getCriteriaWithListValue() {
			return criteriaWithListValue;
		}

		public List<Map<String, Object>> getCriteriaWithBetweenValue() {
			return criteriaWithBetweenValue;
		}

		protected void addCriterion(String condition) {
			if (condition == null) {
				throw new RuntimeException("Value for condition cannot be null");
			}
			criteriaWithoutValue.add(condition);
		}

		protected void addCriterion(String condition, Object value,
				String property) {
			if (value == null) {
				throw new RuntimeException("Value for " + property
						+ " cannot be null");
			}
			Map<String, Object> map = new HashMap<String, Object>();
			map.put("condition", condition);
			map.put("value", value);
			criteriaWithSingleValue.add(map);
		}

		protected void addCriterion(String condition,
				List<? extends Object> values, String property) {
			if (values == null || values.size() == 0) {
				throw new RuntimeException("Value list for " + property
						+ " cannot be null or empty");
			}
			Map<String, Object> map = new HashMap<String, Object>();
			map.put("condition", condition);
			map.put("values", values);
			criteriaWithListValue.add(map);
		}

		protected void addCriterion(String condition, Object value1,
				Object value2, String property) {
			if (value1 == null || value2 == null) {
				throw new RuntimeException("Between values for " + property
						+ " cannot be null");
			}
			List<Object> list = new ArrayList<Object>();
			list.add(value1);
			list.add(value2);
			Map<String, Object> map = new HashMap<String, Object>();
			map.put("condition", condition);
			map.put("values", list);
			criteriaWithBetweenValue.add(map);
		}

		public Criteria andPdtidIsNull() {
			addCriterion("p.pdtId is null");
			return this;
		}

		public Criteria andPdtidIsNotNull() {
			addCriterion("p.pdtId is not null");
			return this;
		}

		public Criteria andPdtidEqualTo(Long value) {
			addCriterion("p.pdtId =", value, "pdtid");
			return this;
		}

		public Criteria andPdtidNotEqualTo(Long value) {
			addCriterion("p.pdtId <>", value, "pdtid");
			return this;
		}

		public Criteria andPdtidGreaterThan(Long value) {
			addCriterion("p.pdtId >", value, "pdtid");
			return this;
		}

		public Criteria andPdtidGreaterThanOrEqualTo(Long value) {
			addCriterion("p.pdtId >=", value, "pdtid");
			return this;
		}

		public Criteria andPdtidLessThan(Long value) {
			addCriterion("p.pdtId <", value, "pdtid");
			return this;
		}

		public Criteria andPdtidLessThanOrEqualTo(Long value) {
			addCriterion("p.pdtId <=", value, "pdtid");
			return this;
		}

		public Criteria andPdtidIn(List<Long> values) {
			addCriterion("p.pdtId in", values, "pdtid");
			return this;
		}

		public Criteria andPdtidNotIn(List<Long> values) {
			addCriterion("p.pdtId not in", values, "pdtid");
			return this;
		}

		public Criteria andPdtidBetween(Long value1, Long value2) {
			addCriterion("p.pdtId between", value1, value2, "pdtid");
			return this;
		}

		public Criteria andPdtidNotBetween(Long value1, Long value2) {
			addCriterion("p.pdtId not between", value1, value2, "pdtid");
			return this;
		}

		public Criteria andCmtpdtidIsNull() {
			addCriterion("p.cmtPdtId is null");
			return this;
		}

		public Criteria andCmtpdtidIsNotNull() {
			addCriterion("p.cmtPdtId is not null");
			return this;
		}

		public Criteria andCmtpdtidEqualTo(String value) {
			addCriterion("p.cmtPdtId =", value, "cmtpdtid");
			return this;
		}

		public Criteria andCmtpdtidNotEqualTo(String value) {
			addCriterion("p.cmtPdtId <>", value, "cmtpdtid");
			return this;
		}

		public Criteria andCmtpdtidGreaterThan(String value) {
			addCriterion("p.cmtPdtId >", value, "cmtpdtid");
			return this;
		}

		public Criteria andCmtpdtidGreaterThanOrEqualTo(String value) {
			addCriterion("p.cmtPdtId >=", value, "cmtpdtid");
			return this;
		}

		public Criteria andCmtpdtidLessThan(String value) {
			addCriterion("p.cmtPdtId <", value, "cmtpdtid");
			return this;
		}

		public Criteria andCmtpdtidLessThanOrEqualTo(String value) {
			addCriterion("p.cmtPdtId <=", value, "cmtpdtid");
			return this;
		}

		public Criteria andCmtpdtidLike(String value) {
			addCriterion("p.cmtPdtId like", value, "cmtpdtid");
			return this;
		}

		public Criteria andCmtpdtidNotLike(String value) {
			addCriterion("p.cmtPdtId not like", value, "cmtpdtid");
			return this;
		}

		public Criteria andCmtpdtidIn(List<String> values) {
			addCriterion("p.cmtPdtId in", values, "cmtpdtid");
			return this;
		}

		public Criteria andCmtpdtidNotIn(List<String> values) {
			addCriterion("p.cmtPdtId not in", values, "cmtpdtid");
			return this;
		}

		public Criteria andCmtpdtidBetween(String value1, String value2) {
			addCriterion("p.cmtPdtId between", value1, value2, "cmtpdtid");
			return this;
		}

		public Criteria andCmtpdtidNotBetween(String value1, String value2) {
			addCriterion("p.cmtPdtId not between", value1, value2, "cmtpdtid");
			return this;
		}

		public Criteria andSendDateIsNull() {
			addCriterion("p.sendDate is null");
			return this;
		}

		public Criteria andSendDateIsNotNull() {
			addCriterion("p.sendDate is not null");
			return this;
		}

		public Criteria andSendDateEqualTo(Date value) {
			addCriterion("p.sendDate =", value, "p.sendDate");
			return this;
		}

		public Criteria andSendDateNotEqualTo(Date value) {
			addCriterion("p.sendDate <>", value, "p.sendDate");
			return this;
		}

		public Criteria andSendDateGreaterThan(Date value) {
			addCriterion("p.sendDate >", value, "p.sendDate");
			return this;
		}

		public Criteria andSendDateGreaterThanOrEqualTo(Date value) {
			addCriterion("p.sendDate >=", value, "p.sendDate");
			return this;
		}

		public Criteria andSendDateLessThan(Date value) {
			addCriterion("p.sendDate <", value, "p.sendDate");
			return this;
		}

		public Criteria andSendDateLessThanOrEqualTo(Date value) {
			addCriterion("p.sendDate <=", value, "p.sendDate");
			return this;
		}

		public Criteria andSendDateIn(List<Date> values) {
			addCriterion("p.sendDate in", values, "p.sendDate");
			return this;
		}

		public Criteria andSendDateNotIn(List<Date> values) {
			addCriterion("p.sendDate not in", values, "p.sendDate");
			return this;
		}

		public Criteria andSendDateBetween(Date value1, Date value2) {
			addCriterion("p.sendDate between", value1, value2, "p.sendDate");
			return this;
		}

		public Criteria andSendDateNotBetween(Date value1, Date value2) {
			addCriterion("p.sendDate not between", value1, value2, "p.sendDate");
			return this;
		}

		public Criteria andImportdateIsNull() {
			addCriterion("importDate is null");
			return this;
		}

		public Criteria andImportdateIsNotNull() {
			addCriterion("importDate is not null");
			return this;
		}

		public Criteria andImportdateEqualTo(Date value) {
			addCriterion("importDate =", value, "importdate");
			return this;
		}

		public Criteria andImportdateNotEqualTo(Date value) {
			addCriterion("importDate <>", value, "importdate");
			return this;
		}

		public Criteria andImportdateGreaterThan(Date value) {
			addCriterion("importDate >", value, "importdate");
			return this;
		}

		public Criteria andImportdateGreaterThanOrEqualTo(Date value) {
			addCriterion("importDate >=", value, "importdate");
			return this;
		}

		public Criteria andImportdateLessThan(Date value) {
			addCriterion("importDate <", value, "importdate");
			return this;
		}

		public Criteria andImportdateLessThanOrEqualTo(Date value) {
			addCriterion("importDate <=", value, "importdate");
			return this;
		}

		public Criteria andImportdateIn(List<Date> values) {
			addCriterion("importDate in", values, "importdate");
			return this;
		}

		public Criteria andImportdateNotIn(List<Date> values) {
			addCriterion("importDate not in", values, "importdate");
			return this;
		}

		public Criteria andImportdateBetween(Date value1, Date value2) {
			addCriterion("importDate between", value1, value2, "importdate");
			return this;
		}

		public Criteria andImportdateNotBetween(Date value1, Date value2) {
			addCriterion("importDate not between", value1, value2, "importdate");
			return this;
		}

		public Criteria andStartTimeIsNull() {
			addCriterion("start_time is null");
			return this;
		}

		public Criteria andStartTimeIsNotNull() {
			addCriterion("start_time is not null");
			return this;
		}

		public Criteria andStartTimeEqualTo(Date value) {
			addCriterion("start_time =", value, "startTime");
			return this;
		}

		public Criteria andStartTimeNotEqualTo(Date value) {
			addCriterion("start_time <>", value, "startTime");
			return this;
		}

		public Criteria andStartTimeGreaterThan(Date value) {
			addCriterion("start_time >", value, "startTime");
			return this;
		}

		public Criteria andStartTimeGreaterThanOrEqualTo(Date value) {
			addCriterion("start_time >=", value, "startTime");
			return this;
		}

		public Criteria andStartTimeLessThan(Date value) {
			addCriterion("start_time <", value, "startTime");
			return this;
		}

		public Criteria andStartTimeLessThanOrEqualTo(Date value) {
			addCriterion("start_time <=", value, "startTime");
			return this;
		}

		public Criteria andStartTimeIn(List<Date> values) {
			addCriterion("start_time in", values, "startTime");
			return this;
		}

		public Criteria andStartTimeNotIn(List<Date> values) {
			addCriterion("start_time not in", values, "startTime");
			return this;
		}

		public Criteria andStartTimeBetween(Date value1, Date value2) {
			addCriterion("start_time between", value1, value2, "startTime");
			return this;
		}

		public Criteria andStartTimeNotBetween(Date value1, Date value2) {
			addCriterion("start_time not between", value1, value2, "startTime");
			return this;
		}

		public Criteria andEndTimeIsNull() {
			addCriterion("end_time is null");
			return this;
		}

		public Criteria andEndTimeIsNotNull() {
			addCriterion("end_time is not null");
			return this;
		}

		public Criteria andEndTimeEqualTo(Date value) {
			addCriterion("end_time =", value, "endTime");
			return this;
		}

		public Criteria andEndTimeNotEqualTo(Date value) {
			addCriterion("end_time <>", value, "endTime");
			return this;
		}

		public Criteria andEndTimeGreaterThan(Date value) {
			addCriterion("end_time >", value, "endTime");
			return this;
		}

		public Criteria andEndTimeGreaterThanOrEqualTo(Date value) {
			addCriterion("end_time >=", value, "endTime");
			return this;
		}

		public Criteria andEndTimeLessThan(Date value) {
			addCriterion("end_time <", value, "endTime");
			return this;
		}

		public Criteria andEndTimeLessThanOrEqualTo(Date value) {
			addCriterion("end_time <=", value, "endTime");
			return this;
		}

		public Criteria andEndTimeIn(List<Date> values) {
			addCriterion("end_time in", values, "endTime");
			return this;
		}

		public Criteria andEndTimeNotIn(List<Date> values) {
			addCriterion("end_time not in", values, "endTime");
			return this;
		}

		public Criteria andEndTimeBetween(Date value1, Date value2) {
			addCriterion("end_time between", value1, value2, "endTime");
			return this;
		}

		public Criteria andEndTimeNotBetween(Date value1, Date value2) {
			addCriterion("end_time not between", value1, value2, "endTime");
			return this;
		}

		public Criteria andPdtskuidIsNull() {
			addCriterion("pdtSkuId is null");
			return this;
		}

		public Criteria andPdtskuidIsNotNull() {
			addCriterion("pdtSkuId is not null");
			return this;
		}

		public Criteria andPdtskuidEqualTo(String value) {
			addCriterion("pdtSkuId =", value, "pdtskuid");
			return this;
		}

		public Criteria andPdtskuidNotEqualTo(String value) {
			addCriterion("pdtSkuId <>", value, "pdtskuid");
			return this;
		}

		public Criteria andPdtskuidGreaterThan(String value) {
			addCriterion("pdtSkuId >", value, "pdtskuid");
			return this;
		}

		public Criteria andPdtskuidGreaterThanOrEqualTo(String value) {
			addCriterion("pdtSkuId >=", value, "pdtskuid");
			return this;
		}

		public Criteria andPdtskuidLessThan(String value) {
			addCriterion("pdtSkuId <", value, "pdtskuid");
			return this;
		}

		public Criteria andPdtskuidLessThanOrEqualTo(String value) {
			addCriterion("pdtSkuId <=", value, "pdtskuid");
			return this;
		}

		public Criteria andPdtskuidLike(String value) {
			addCriterion("pdtSkuId like", value, "pdtskuid");
			return this;
		}

		public Criteria andPdtskuidNotLike(String value) {
			addCriterion("pdtSkuId not like", value, "pdtskuid");
			return this;
		}

		public Criteria andPdtskuidIn(List<String> values) {
			addCriterion("pdtSkuId in", values, "pdtskuid");
			return this;
		}

		public Criteria andPdtskuidNotIn(List<String> values) {
			addCriterion("pdtSkuId not in", values, "pdtskuid");
			return this;
		}

		public Criteria andPdtskuidBetween(String value1, String value2) {
			addCriterion("pdtSkuId between", value1, value2, "pdtskuid");
			return this;
		}

		public Criteria andPdtskuidNotBetween(String value1, String value2) {
			addCriterion("pdtSkuId not between", value1, value2, "pdtskuid");
			return this;
		}

		public Criteria andStylenoIsNull() {
			addCriterion("styleNo is null");
			return this;
		}

		public Criteria andStylenoIsNotNull() {
			addCriterion("styleNo is not null");
			return this;
		}

		public Criteria andStylenoEqualTo(String value) {
			addCriterion("styleNo =", value, "styleno");
			return this;
		}

		public Criteria andStylenoNotEqualTo(String value) {
			addCriterion("styleNo <>", value, "styleno");
			return this;
		}

		public Criteria andStylenoGreaterThan(String value) {
			addCriterion("styleNo >", value, "styleno");
			return this;
		}

		public Criteria andStylenoGreaterThanOrEqualTo(String value) {
			addCriterion("styleNo >=", value, "styleno");
			return this;
		}

		public Criteria andStylenoLessThan(String value) {
			addCriterion("styleNo <", value, "styleno");
			return this;
		}

		public Criteria andStylenoLessThanOrEqualTo(String value) {
			addCriterion("styleNo <=", value, "styleno");
			return this;
		}

		public Criteria andStylenoLike(String value) {
			addCriterion("styleNo like", value, "styleno");
			return this;
		}

		public Criteria andStylenoNotLike(String value) {
			addCriterion("styleNo not like", value, "styleno");
			return this;
		}

		public Criteria andStylenoIn(List<String> values) {
			addCriterion("styleNo in", values, "styleno");
			return this;
		}

		public Criteria andStylenoNotIn(List<String> values) {
			addCriterion("styleNo not in", values, "styleno");
			return this;
		}

		public Criteria andStylenoBetween(String value1, String value2) {
			addCriterion("styleNo between", value1, value2, "styleno");
			return this;
		}

		public Criteria andStylenoNotBetween(String value1, String value2) {
			addCriterion("styleNo not between", value1, value2, "styleno");
			return this;
		}

		public Criteria andCmtpdtskuidIsNull() {
			addCriterion("cmtPdtSkuId is null");
			return this;
		}

		public Criteria andCmtpdtskuidIsNotNull() {
			addCriterion("cmtPdtSkuId is not null");
			return this;
		}

		public Criteria andCmtpdtskuidEqualTo(String value) {
			addCriterion("cmtPdtSkuId =", value, "cmtpdtskuid");
			return this;
		}

		public Criteria andCmtpdtskuidNotEqualTo(String value) {
			addCriterion("cmtPdtSkuId <>", value, "cmtpdtskuid");
			return this;
		}

		public Criteria andCmtpdtskuidGreaterThan(String value) {
			addCriterion("cmtPdtSkuId >", value, "cmtpdtskuid");
			return this;
		}

		public Criteria andCmtpdtskuidGreaterThanOrEqualTo(String value) {
			addCriterion("cmtPdtSkuId >=", value, "cmtpdtskuid");
			return this;
		}

		public Criteria andCmtpdtskuidLessThan(String value) {
			addCriterion("cmtPdtSkuId <", value, "cmtpdtskuid");
			return this;
		}

		public Criteria andCmtpdtskuidLessThanOrEqualTo(String value) {
			addCriterion("cmtPdtSkuId <=", value, "cmtpdtskuid");
			return this;
		}

		public Criteria andCmtpdtskuidLike(String value) {
			addCriterion("cmtPdtSkuId like", value, "cmtpdtskuid");
			return this;
		}

		public Criteria andCmtpdtskuidNotLike(String value) {
			addCriterion("cmtPdtSkuId not like", value, "cmtpdtskuid");
			return this;
		}

		public Criteria andCmtpdtskuidIn(List<String> values) {
			addCriterion("cmtPdtSkuId in", values, "cmtpdtskuid");
			return this;
		}

		public Criteria andCmtpdtskuidNotIn(List<String> values) {
			addCriterion("cmtPdtSkuId not in", values, "cmtpdtskuid");
			return this;
		}

		public Criteria andCmtpdtskuidBetween(String value1, String value2) {
			addCriterion("cmtPdtSkuId between", value1, value2, "cmtpdtskuid");
			return this;
		}

		public Criteria andCmtpdtskuidNotBetween(String value1, String value2) {
			addCriterion("cmtPdtSkuId not between", value1, value2,
					"cmtpdtskuid");
			return this;
		}

		public Criteria andRouteIdIsNull() {
			addCriterion("route_id is null");
			return this;
		}

		public Criteria andRouteIdIsNotNull() {
			addCriterion("route_id is not null");
			return this;
		}

		public Criteria andRouteIdEqualTo(String value) {
			addCriterion("route_id =", value, "routeId");
			return this;
		}

		public Criteria andRouteIdNotEqualTo(String value) {
			addCriterion("route_id <>", value, "routeId");
			return this;
		}

		public Criteria andRouteIdGreaterThan(String value) {
			addCriterion("route_id >", value, "routeId");
			return this;
		}

		public Criteria andRouteIdGreaterThanOrEqualTo(String value) {
			addCriterion("route_id >=", value, "routeId");
			return this;
		}

		public Criteria andRouteIdLessThan(String value) {
			addCriterion("route_id <", value, "routeId");
			return this;
		}

		public Criteria andRouteIdLessThanOrEqualTo(String value) {
			addCriterion("route_id <=", value, "routeId");
			return this;
		}

		public Criteria andRouteIdIn(List<String> values) {
			addCriterion("route_id in", values, "routeId");
			return this;
		}

		public Criteria andRouteIdNotIn(List<String> values) {
			addCriterion("route_id not in", values, "routeId");
			return this;
		}

		public Criteria andRouteIdBetween(String value1, String value2) {
			addCriterion("route_id between", value1, value2, "routeId");
			return this;
		}

		public Criteria andRouteIdNotBetween(String value1, String value2) {
			addCriterion("route_id not between", value1, value2, "routeId");
			return this;
		}

		public Criteria andCmtOrderIdIsNull() {
			addCriterion("CmtOrderId is null");
			return this;
		}

		public Criteria andCmtOrderIdIsNotNull() {
			addCriterion("CmtOrderId is not null");
			return this;
		}

		public Criteria andCmtOrderIdEqualTo(String value) {
			addCriterion("CmtOrderId =", value, "CmtOrderId");
			return this;
		}

		public Criteria andCmtOrderIdNotEqualTo(String value) {
			addCriterion("CmtOrderId <>", value, "CmtOrderId");
			return this;
		}

		public Criteria andCmtOrderIdGreaterThan(String value) {
			addCriterion("CmtOrderId >", value, "CmtOrderId");
			return this;
		}

		public Criteria andCmtOrderIdGreaterThanOrEqualTo(String value) {
			addCriterion("CmtOrderId >=", value, "CmtOrderId");
			return this;
		}

		public Criteria andCmtOrderIdLessThan(String value) {
			addCriterion("CmtOrderId <", value, "CmtOrderId");
			return this;
		}

		public Criteria andCmtOrderIdLessThanOrEqualTo(String value) {
			addCriterion("CmtOrderId <=", value, "CmtOrderId");
			return this;
		}

		public Criteria andCmtOrderIdLike(String value) {
			addCriterion("CmtOrderId like", value, "CmtOrderId");
			return this;
		}

		public Criteria andCmtOrderIdNotLike(String value) {
			addCriterion("CmtOrderId not like", value, "CmtOrderId");
			return this;
		}

		public Criteria andCmtOrderIdIn(List<String> values) {
			addCriterion("CmtOrderId in", values, "CmtOrderId");
			return this;
		}

		public Criteria andCmtOrderIdNotIn(List<String> values) {
			addCriterion("CmtOrderId not in", values, "CmtOrderId");
			return this;
		}

		public Criteria andCmtOrderIdBetween(String value1, String value2) {
			addCriterion("CmtOrderId between", value1, value2, "CmtOrderId");
			return this;
		}

		public Criteria andCmtOrderIdNotBetween(String value1, String value2) {
			addCriterion("CmtOrderId not between", value1, value2, "CmtOrderId");
			return this;
		}

		public Criteria andArrivedateIsNull() {
			addCriterion("arriveDate is null");
			return this;
		}

		public Criteria andArrivedateIsNotNull() {
			addCriterion("arriveDate is not null");
			return this;
		}

		public Criteria andArrivedateEqualTo(Date value) {
			addCriterion("arriveDate =", value, "arrivedate");
			return this;
		}

		public Criteria andArrivedateNotEqualTo(Date value) {
			addCriterion("arriveDate <>", value, "arrivedate");
			return this;
		}

		public Criteria andArrivedateGreaterThan(Date value) {
			addCriterion("arriveDate >", value, "arrivedate");
			return this;
		}

		public Criteria andArrivedateGreaterThanOrEqualTo(Date value) {
			addCriterion("arriveDate >=", value, "arrivedate");
			return this;
		}

		public Criteria andArrivedateLessThan(Date value) {
			addCriterion("arriveDate <", value, "arrivedate");
			return this;
		}

		public Criteria andArrivedateLessThanOrEqualTo(Date value) {
			addCriterion("arriveDate <=", value, "arrivedate");
			return this;
		}

		public Criteria andArrivedateLike(Date value) {
			addCriterion("arriveDate like", value, "arrivedate");
			return this;
		}

		public Criteria andArrivedateNotLike(Date value) {
			addCriterion("arriveDate not like", value, "arrivedate");
			return this;
		}

		public Criteria andArrivedateIn(List<Date> values) {
			addCriterion("arriveDate in", values, "arrivedate");
			return this;
		}

		public Criteria andArrivedateNotIn(List<Date> values) {
			addCriterion("arriveDate not in", values, "arrivedate");
			return this;
		}

		public Criteria andArrivedateBetween(Date value1, Date value2) {
			addCriterion("arriveDate between", value1, value2, "arrivedate");
			return this;
		}

		public Criteria andArrivedateNotBetween(Date value1, Date value2) {
			addCriterion("arriveDate not between", value1, value2, "arrivedate");
			return this;
		}

		public Criteria andExpectDateIsNull() {
			addCriterion("po.sendDate is null");
			return this;
		}

		public Criteria andExpectDateIsNotNull() {
			addCriterion("po.sendDate is not null");
			return this;
		}

		public Criteria andExpectDateEqualTo(Date value) {
			addCriterion("po.sendDate =", value, "expectDate");
			return this;
		}

		public Criteria andExpectDateNotEqualTo(Date value) {
			addCriterion("po.sendDate <>", value, "expectDate");
			return this;
		}

		public Criteria andExpectDateGreaterThan(Date value) {
			addCriterion("po.sendDate >", value, "expectDate");
			return this;
		}

		public Criteria andExpectDateGreaterThanOrEqualTo(Date value) {
			addCriterion("po.sendDate >=", value, "expectDate");
			return this;
		}

		public Criteria andExpectDateLessThan(Date value) {
			addCriterion("po.sendDate <", value, "expectDate");
			return this;
		}

		public Criteria andExpectDateLessThanOrEqualTo(Date value) {
			addCriterion("po.sendDate <=", value, "expectDate");
			return this;
		}

		public Criteria andExpectDateLike(Date value) {
			addCriterion("po.sendDate like", value, "expectDate");
			return this;
		}

		public Criteria andExpectDateNotLike(Date value) {
			addCriterion("po.sendDate not like", value, "expectDate");
			return this;
		}

		public Criteria andExpectDateIn(List<Date> values) {
			addCriterion("po.sendDate in", values, "expectDate");
			return this;
		}

		public Criteria andExpectDateNotIn(List<Date> values) {
			addCriterion("po.sendDate not in", values, "expectDate");
			return this;
		}

		public Criteria andExpectDateBetween(Date value1, Date value2) {
			addCriterion("po.sendDate between", value1, value2, "expectDate");
			return this;
		}

		public Criteria andExpectDateNotBetween(Date value1, Date value2) {
			addCriterion("po.sendDate not between", value1, value2,
					"expectDate");
			return this;
		}

		public Criteria andStaffIdIsNull() {
			addCriterion("staff_id is null");
			return this;
		}

		public Criteria andStaffIdIsNotNull() {
			addCriterion("staff_id is not null");
			return this;
		}

		public Criteria andStaffIdEqualTo(Integer value) {
			addCriterion("staff_id =", value, "staffId");
			return this;
		}

		public Criteria andStaffIdNotEqualTo(Integer value) {
			addCriterion("staff_id <>", value, "staffId");
			return this;
		}

		public Criteria andStaffIdGreaterThan(Integer value) {
			addCriterion("staff_id >", value, "staffId");
			return this;
		}

		public Criteria andStaffIdGreaterThanOrEqualTo(Integer value) {
			addCriterion("staff_id >=", value, "staffId");
			return this;
		}

		public Criteria andStaffIdLessThan(Integer value) {
			addCriterion("staff_id <", value, "staffId");
			return this;
		}

		public Criteria andStaffIdLessThanOrEqualTo(Integer value) {
			addCriterion("staff_id <=", value, "staffId");
			return this;
		}

		public Criteria andStaffIdIn(List<Integer> values) {
			addCriterion("staff_id in", values, "staffId");
			return this;
		}

		public Criteria andStaffIdNotIn(List<Integer> values) {
			addCriterion("staff_id not in", values, "staffId");
			return this;
		}

		public Criteria andStaffIdBetween(Integer value1, Integer value2) {
			addCriterion("staff_id between", value1, value2, "staffId");
			return this;
		}

		public Criteria andStaffIdNotBetween(Integer value1, Integer value2) {
			addCriterion("staff_id not between", value1, value2, "staffId");
			return this;
		}

		public Criteria andStaffNameIsNull() {
			addCriterion("staff_name is null");
			return this;
		}

		public Criteria andStaffNameIsNotNull() {
			addCriterion("staff_name is not null");
			return this;
		}

		public Criteria andStaffNameEqualTo(String value) {
			addCriterion("staff_name =", value, "staffName");
			return this;
		}

		public Criteria andStaffNameNotEqualTo(String value) {
			addCriterion("staff_name <>", value, "staffName");
			return this;
		}

		public Criteria andStaffNameGreaterThan(String value) {
			addCriterion("staff_name >", value, "staffName");
			return this;
		}

		public Criteria andStaffNameGreaterThanOrEqualTo(String value) {
			addCriterion("staff_name >=", value, "staffName");
			return this;
		}

		public Criteria andStaffNameLessThan(String value) {
			addCriterion("staff_name <", value, "staffName");
			return this;
		}

		public Criteria andStaffNameLessThanOrEqualTo(String value) {
			addCriterion("staff_name <=", value, "staffName");
			return this;
		}

		public Criteria andStaffNameLike(String value) {
			addCriterion("staff_name like", value, "staffName");
			return this;
		}

		public Criteria andStaffNameNotLike(String value) {
			addCriterion("staff_name not like", value, "staffName");
			return this;
		}

		public Criteria andStaffNameIn(List<String> values) {
			addCriterion("staff_name in", values, "staffName");
			return this;
		}

		public Criteria andStaffNameNotIn(List<String> values) {
			addCriterion("staff_name not in", values, "staffName");
			return this;
		}

		public Criteria andStaffNameBetween(String value1, String value2) {
			addCriterion("staff_name between", value1, value2, "staffName");
			return this;
		}

		public Criteria andStaffNameNotBetween(String value1, String value2) {
			addCriterion("staff_name not between", value1, value2, "staffName");
			return this;
		}

		public Criteria andPdtStatusIsNull() {
			addCriterion("pdtStatus is null");
			return this;
		}

		public Criteria andPdtStatusIsNotNull() {
			addCriterion("pdtStatus is not null");
			return this;
		}

		public Criteria andPdtStatusEqualTo(Integer value) {
			addCriterion("pdtStatus =", value, "pdtStatus");
			return this;
		}

		public Criteria andPdtStatusNotEqualTo(Integer value) {
			addCriterion("pdtStatus <>", value, "pdtStatus");
			return this;
		}

		public Criteria andPdtStatusGreaterThan(Integer value) {
			addCriterion("pdtStatus >", value, "pdtStatus");
			return this;
		}

		public Criteria andPdtStatusGreaterThanOrEqualTo(Integer value) {
			addCriterion("pdtStatus >=", value, "pdtStatus");
			return this;
		}

		public Criteria andPdtStatusLessThan(Integer value) {
			addCriterion("pdtStatus <", value, "pdtStatus");
			return this;
		}

		public Criteria andPdtStatusLessThanOrEqualTo(Integer value) {
			addCriterion("pdtStatus <=", value, "pdtStatus");
			return this;
		}

		public Criteria andPdtStatusIn(List<Integer> values) {
			addCriterion("pdtStatus in", values, "pdtStatus");
			return this;
		}

		public Criteria andPdtStatusNotIn(List<Integer> values) {
			addCriterion("pdtStatus not in", values, "pdtStatus");
			return this;
		}

		public Criteria andPdtStatusBetween(Integer value1, Integer value2) {
			addCriterion("pdtStatus between", value1, value2, "pdtStatus");
			return this;
		}

		public Criteria andPdtStatusNotBetween(Integer value1, Integer value2) {
			addCriterion("pdtStatus not between", value1, value2, "pdtStatus");
			return this;
		}

		public Criteria andTrackNoIsNull() {
			addCriterion("trackNo is null");
			return this;
		}

		public Criteria andTrackNoIsNotNull() {
			addCriterion("trackNo is not null");
			return this;
		}

		public Criteria andTrackNoEqualTo(Integer value) {
			addCriterion("trackNo =", value, "trackNo");
			return this;
		}

		public Criteria andTrackNoNotEqualTo(Integer value) {
			addCriterion("trackNo <>", value, "trackNo");
			return this;
		}

		public Criteria andTrackNoGreaterThan(Integer value) {
			addCriterion("trackNo >", value, "trackNo");
			return this;
		}

		public Criteria andTrackNoGreaterThanOrEqualTo(Integer value) {
			addCriterion("trackNo >=", value, "trackNo");
			return this;
		}

		public Criteria andTrackNoLessThan(Integer value) {
			addCriterion("trackNo <", value, "trackNo");
			return this;
		}

		public Criteria andTrackNoLessThanOrEqualTo(Integer value) {
			addCriterion("trackNo <=", value, "trackNo");
			return this;
		}

		public Criteria andTrackNoIn(List<Integer> values) {
			addCriterion("trackNo in", values, "trackNo");
			return this;
		}

		public Criteria andTrackNoNotIn(List<Integer> values) {
			addCriterion("trackNo not in", values, "trackNo");
			return this;
		}

		public Criteria andTrackNoBetween(Integer value1, Integer value2) {
			addCriterion("trackNo between", value1, value2, "trackNo");
			return this;
		}

		public Criteria andTrackNoNotBetween(Integer value1, Integer value2) {
			addCriterion("trackNo not between", value1, value2, "trackNo");
			return this;
		}
	}
}
